package chapter02

/**
  * 凡是自己可以起名字的地方都叫标识符。
  * 标识符的命名规则
  *
  * ==Scala中的标识符声明，基本和Java是一致的==，但是细节上会有所变化。
  * 首字符为字母，后续字符任意字母和数字，美元符号，可后接下划线_
  * 数字不可以开头。
  * 首字符为操作符(比如+ - * / )，后续字符也需跟操作符 ,至少一个
  * 操作符(比如/+-*) 不能在标识符中间和最后 。
  * 用反引号....包括的任意字符串 ， 即使是关键字 (39 个) 也可以[true]
  *
  * Scala有39个关键字
  *   package, import, class, object, trait, extends, with, type, forSome
  *   private, protected, abstract, sealed, final, implicit, lazy, override
  *   try, catch, finally, throw
  *   if, else, match, case, do, while, for, return, yield
  *   def, val, var
  *   this, super
  *   new
  *   true, false, null
  *
  */
object Test04_Identifier {
  def main(args: Array[String]): Unit = {
    val ++ = "Hello Scala"
    println(++)

    val -+*/ = 90
    println(-+*/)

    //其实编译器是进行以下处理的：
    // ++ ==>  $plus$plus

    //val +a = "abc" 报错

    var `boolean` = "true"
    println(`boolean`)
    val Int = 90.44

    println(Int) //Double类型

    // 不能使用 _ 做标识符，因为在scala中，_ 有很多其他的作用，因此不能使用
    var _ = "jack"
    //println(_)
  }
}
